<!--
  ~ Copyright (c) 2020 the original author or authors
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      https://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  ~ or implied. See the License for the specific language governing
  ~ permissions and limitations under the License.
  -->

<div class="app-user-list">
  <div class="table-header-container">
    <h3>{{'users.title' | translate}}</h3>
    <form>
      <input
        matInput
        type="text"
        class="search-input"
        [(ngModel)]="search"
        placeholder="{{'users.search.app_title' | translate}}"
        [ngModelOptions]="{standalone: true}">
      <mat-icon class="material-icons notranslate">search</mat-icon>
    </form>
  </div>
  <app-spinner *ngIf="isLoading$ | async"></app-spinner>
  <app-user-table
    class="app-table"
    [isLoading]="isLoading$ | async"
    [userRole]="userRole$ | async"
    [currentUserId]="currentUserId$ | async"
    [tableConfig]="tableConfig$ | userTableFilter:search | async"
    [availableRoles]="availableRoles$ | async"
    [createMessage]="message"
    [searchText]="search"
    (changeRow)="onChange($event)"
    (deleteUser)="onDelete($event)">
  </app-user-table>
  <div class="add-model-button-container" *ngIf="userRole$ | async as userRole">
    <button *ngIf="userRole !== roleEnum.USER" mat-button color="primary" (click)="onInviteUser();">{{'common.capital.add' | translate}}</button>
  </div>
</div>
